[INFO] cloning repository https://github.com/Sk3pz/mini_mmo_client
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Sk3pz/mini_mmo_client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSk3pz%2Fmini_mmo_client", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSk3pz%2Fmini_mmo_client'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d8898044e8920278afa0ac862fe5a057945306e
[INFO] checking Sk3pz/mini_mmo_client against master#4eb62535fc12dd1a63fd43a4173e224e79313c4d for pr-158816
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSk3pz%2Fmini_mmo_client" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Sk3pz/mini_mmo_client
[INFO] finished tweaking git repo https://github.com/Sk3pz/mini_mmo_client
[INFO] tweaked toml for git repo https://github.com/Sk3pz/mini_mmo_client written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Sk3pz/mini_mmo_client on toolchain 4eb62535fc12dd1a63fd43a4173e224e79313c4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Sk3pz/mini_mmo_client already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ahash v0.7.4
[INFO] [stderr]   Downloaded version_check v0.9.3
[INFO] [stderr]   Downloaded serde v1.0.126
[INFO] [stderr]   Downloaded signal-hook-mio v0.2.1
[INFO] [stderr]   Downloaded better_term v0.1.1
[INFO] [stderr]   Downloaded instant v0.1.10
[INFO] [stderr]   Downloaded crossterm_winapi v0.8.0
[INFO] [stderr]   Downloaded lock_api v0.4.4
[INFO] [stderr]   Downloaded capnpc v0.14.4
[INFO] [stderr]   Downloaded signal-hook v0.3.9
[INFO] [stderr]   Downloaded redox_syscall v0.2.9
[INFO] [stderr]   Downloaded capnp v0.14.2
[INFO] [stderr]   Downloaded mio v0.7.13
[INFO] [stderr]   Downloaded crossterm v0.20.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53
[INFO] running `Command { std: "docker" "start" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53" "/opt/rustwide/cargo-home/bin/cargo" "+4eb62535fc12dd1a63fd43a4173e224e79313c4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.97
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling signal-hook v0.3.9
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]    Compiling serde v1.0.126
[INFO] [stderr]     Checking smallvec v1.6.1
[INFO] [stderr]     Checking once_cell v1.8.0
[INFO] [stderr]     Checking capnp v0.14.2
[INFO] [stderr]     Checking better_term v0.1.1
[INFO] [stderr]     Checking instant v0.1.10
[INFO] [stderr]     Checking lock_api v0.4.4
[INFO] [stderr]    Compiling ahash v0.7.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]     Checking signal-hook-registry v1.4.0
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking mio v0.7.13
[INFO] [stderr]     Checking parking_lot_core v0.8.3
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking parking_lot v0.11.1
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.1
[INFO] [stderr]     Checking crossterm v0.20.0
[INFO] [stderr]     Checking capnpc v0.14.4
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking toml v0.5.8
[INFO] [stderr]     Checking mini_mmo_client v1.4.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `write_event_error`
[INFO] [stdout]  --> src/main.rs:7:88
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::network::event_io::{read_event, write_event_keepalive, write_event_message, write_event_error};
[INFO] [stdout]   |                                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DelayedFormat` and `StrftimeItems`
[INFO] [stdout]  --> src/utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::format::{DelayedFormat, StrftimeItems};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapAllocator` and `TypedReader`
[INFO] [stdout]  --> src/network/event_io.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use capnp::message::{TypedReader, Builder, HeapAllocator};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapAllocator` and `TypedReader`
[INFO] [stdout]  --> src/network/entry_point_io.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use capnp::message::{TypedReader, Builder, HeapAllocator};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `login`
[INFO] [stdout]  --> src/network/entry_point_io.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::packet_capnp::{entry_point, login};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/network/entry_point_io.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapAllocator` and `TypedReader`
[INFO] [stdout]  --> src/network/entry_response_io.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use capnp::message::{TypedReader, Builder, HeapAllocator};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/network/entry_response_io.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> src/command.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env::args;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Write, Read, stdin, stdout};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `write_event_error`
[INFO] [stdout]  --> src/main.rs:7:88
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::network::event_io::{read_event, write_event_keepalive, write_event_message, write_event_error};
[INFO] [stdout]   |                                                                                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Command`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::process::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/utils.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/utils.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DelayedFormat` and `StrftimeItems`
[INFO] [stdout]  --> src/utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::format::{DelayedFormat, StrftimeItems};
[INFO] [stdout]   |                      ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapAllocator` and `TypedReader`
[INFO] [stdout]  --> src/network/event_io.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use capnp::message::{TypedReader, Builder, HeapAllocator};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapAllocator` and `TypedReader`
[INFO] [stdout]  --> src/network/entry_point_io.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use capnp::message::{TypedReader, Builder, HeapAllocator};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `login`
[INFO] [stdout]  --> src/network/entry_point_io.rs:2:40
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::packet_capnp::{entry_point, login};
[INFO] [stdout]   |                                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/network/entry_point_io.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HeapAllocator` and `TypedReader`
[INFO] [stdout]  --> src/network/entry_response_io.rs:1:22
[INFO] [stdout]   |
[INFO] [stdout] 1 | use capnp::message::{TypedReader, Builder, HeapAllocator};
[INFO] [stdout]   |                      ^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/network/entry_response_io.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::args`
[INFO] [stdout]  --> src/command.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::env::args;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `needs_to_disconnect` is never read
[INFO] [stdout]   --> src/network/event_io.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut needs_to_disconnect = false;
[INFO] [stdout]    |                                   ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 61 |     needs_to_disconnect = ev.get_disconnect();
[INFO] [stdout]    |     ----------------------------------------- `needs_to_disconnect` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/entry_point_io.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut ep = message.init_root::<entry_point::Builder>();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]   --> src/main.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn connection_err(ip: &str, port: &str) {
[INFO] [stdout]    |                   ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/main.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn connection_err(ip: &str, port: &str) {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/main.rs:203:32
[INFO] [stdout]     |
[INFO] [stdout] 203 |     muncher.register("clear", |args| {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_event_error` is never used
[INFO] [stdout]   --> src/network/event_io.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn write_event_error<S: Into<String>>(mut stream: &TcpStream, error: S, disconnect: bool) -> ::capnp::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_entry_point` is never used
[INFO] [stdout]   --> src/network/entry_point_io.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn read_entry_point(mut stream: &TcpStream) -> (Option<LoginData>, Option<String>, Option<String>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_valid_entry_response` is never used
[INFO] [stdout]  --> src/network/entry_response_io.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn write_valid_entry_response(mut stream: &TcpStream, motd: String) -> ::capnp::Result<()> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_invalid_entry_response` is never used
[INFO] [stdout]   --> src/network/entry_response_io.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn write_invalid_entry_response<S: Into<String>>(mut stream: &TcpStream, err: S) -> ::capnp::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_ping_entry_response` is never used
[INFO] [stdout]   --> src/network/entry_response_io.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn write_ping_entry_response(mut stream: &TcpStream, client_valid: bool, version: String) -> ::capnp::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CommandFailReason` is never used
[INFO] [stdout]  --> src/command.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum CommandFailReason {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unregister` is never used
[INFO] [stdout]   --> src/command.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T> CommandMuncher<T> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn unregister<S: Into<String>>(&mut self, command: S) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     execute!(stdout(), Clear(ClearType::All), MoveTo(0, 0));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = execute!(stdout(), Clear(ClearType::All), MoveTo(0, 0));;
[INFO] [stdout]    |     +++++++                                                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     execute!(stdout(), MoveTo(x, y));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = execute!(stdout(), MoveTo(x, y));;
[INFO] [stdout]    |     +++++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     execute!(stdout(), SetSize(width, height));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let _ = execute!(stdout(), SetSize(width, height));;
[INFO] [stdout]    |     +++++++                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::str::<impl str>::replace` that must be used
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     data.replace("!;!", "\r");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this returns the replaced string as a new allocation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = data.replace("!;!", "\r");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     io::stdout().flush();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let _ = io::stdout().flush();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     write_entry_point_ver(&stream, VERSION.to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let _ = write_entry_point_ver(&stream, VERSION.to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         write_entry_login_attempt(&stream, login_data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let _ = write_entry_login_attempt(&stream, login_data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             write_event_message(&stream, input, data);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let _ = write_event_message(&stream, input, data);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |             write_event_keepalive(&stream);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 281 |             let _ = write_event_keepalive(&stream);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]  --> src/main.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::{Write, Read, stdin, stdout};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `needs_to_disconnect` is never read
[INFO] [stdout]   --> src/network/event_io.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut needs_to_disconnect = false;
[INFO] [stdout]    |                                   ^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 61 |     needs_to_disconnect = ev.get_disconnect();
[INFO] [stdout]    |     ----------------------------------------- `needs_to_disconnect` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/network/entry_point_io.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let mut ep = message.init_root::<entry_point::Builder>();
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ip`
[INFO] [stdout]   --> src/main.rs:48:19
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn connection_err(ip: &str, port: &str) {
[INFO] [stdout]    |                   ^^ help: if this is intentional, prefix it with an underscore: `_ip`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]   --> src/main.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 | fn connection_err(ip: &str, port: &str) {
[INFO] [stdout]    |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/main.rs:203:32
[INFO] [stdout]     |
[INFO] [stdout] 203 |     muncher.register("clear", |args| {
[INFO] [stdout]     |                                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_event_error` is never used
[INFO] [stdout]   --> src/network/event_io.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub fn write_event_error<S: Into<String>>(mut stream: &TcpStream, error: S, disconnect: bool) -> ::capnp::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_entry_point` is never used
[INFO] [stdout]   --> src/network/entry_point_io.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn read_entry_point(mut stream: &TcpStream) -> (Option<LoginData>, Option<String>, Option<String>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_valid_entry_response` is never used
[INFO] [stdout]  --> src/network/entry_response_io.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn write_valid_entry_response(mut stream: &TcpStream, motd: String) -> ::capnp::Result<()> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_invalid_entry_response` is never used
[INFO] [stdout]   --> src/network/entry_response_io.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn write_invalid_entry_response<S: Into<String>>(mut stream: &TcpStream, err: S) -> ::capnp::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_ping_entry_response` is never used
[INFO] [stdout]   --> src/network/entry_response_io.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn write_ping_entry_response(mut stream: &TcpStream, client_valid: bool, version: String) -> ::capnp::Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CommandFailReason` is never used
[INFO] [stdout]  --> src/command.rs:4:10
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum CommandFailReason {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `unregister` is never used
[INFO] [stdout]   --> src/command.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl<T> CommandMuncher<T> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn unregister<S: Into<String>>(&mut self, command: S) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     execute!(stdout(), Clear(ClearType::All), MoveTo(0, 0));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 33 |     let _ = execute!(stdout(), Clear(ClearType::All), MoveTo(0, 0));;
[INFO] [stdout]    |     +++++++                                                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     execute!(stdout(), MoveTo(x, y));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let _ = execute!(stdout(), MoveTo(x, y));;
[INFO] [stdout]    |     +++++++                                 +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     execute!(stdout(), SetSize(width, height));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let _ = execute!(stdout(), SetSize(width, height));;
[INFO] [stdout]    |     +++++++                                           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `std::str::<impl str>::replace` that must be used
[INFO] [stdout]   --> src/main.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     data.replace("!;!", "\r");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this returns the replaced string as a new allocation, without modifying the original
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let _ = data.replace("!;!", "\r");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     io::stdout().flush();
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let _ = io::stdout().flush();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     write_entry_point_ver(&stream, VERSION.to_string());
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let _ = write_entry_point_ver(&stream, VERSION.to_string());
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 185 |         write_entry_login_attempt(&stream, login_data);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let _ = write_entry_login_attempt(&stream, login_data);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |             write_event_message(&stream, input, data);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 279 |             let _ = write_event_message(&stream, input, data);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |             write_event_keepalive(&stream);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 281 |             let _ = write_event_keepalive(&stream);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.65s
[INFO] running `Command { std: "docker" "inspect" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53", kill_on_drop: false }`
[INFO] [stdout] 4b08a284e8e53f4183fdeab417f1c6c82748028b27626d00fb8d017b7cebba53
